# - 局部变量
#   - 函数内部定义的变量就是局部变量
#   - 局部变量只能在函数内部使用
#   - 不同的函数局部变量名字可以相同
# - 全局变量
#   - 函数外部定义的变量就是全局变量
#   - 全局变量在所有函数内部也可以使用
#   - 局部变量能解决的问题,不要通过全局变量解决, 尽量少定义全局变量

# 生命周期：  存在不存在值得在 内存中
#    局部变量：随着方法的调用而存在，方法结束，他也跟着消失
#    全局变量：随着程序的开始，而存在，程序结束，全局变量消失
# 如果全局变量的变量名跟局部变量的变量名相同时，采用就近原则（跟代码量无关）
num = 11
def sum1(a1, b1):
    num1 = 12
    global  num  # 使用全局的变量num ,被他修饰时，
    # 如果方法内修改了此全局变量的值，那么其他方法使用时不再是全局变量的默认值
    num = num1 + 1  # 13
    print("全局变量sum_num()使用", num)  #13
    print(a1 + b1)
def sum2(a1, b1):
    # print(num1)  报错
    print("全局变量sum_num1()使用", num)
    print(a1 - b1)
# sum1(1, 2)
sum2(3, 4)


